Hypertext transfer protocol (HTTP) streaming is spreading widely as a form of multimedia delivery of Internet video. HTTP-based delivery provides reliable and simple deployment due to the already broad adoption of both HTTP and its underlying Transmission Control Protocol/Internet Protocol (TCP/IP) protocols. Moreover, HTTP-based delivery enables effortless streaming services by avoiding network address translation (NAT) and firewall traversal issues. HTTP-based streaming also provides the ability to use standard HTTP servers and caches instead of specialized streaming servers and has better scalability due to minimal state information on the server side.
Adaptive video streaming is an important capability towards ensuring the best possible video experience for the end client user at all times, in terms of key performance goals such as high video quality, low startup delay and interrupt-free playback. Adaptive video streaming involves continuously optimizing video configurations such as bit rate, resolution and frame rate with respect to changing link conditions, device capabilities and content characteristics. Traditionally, adaptive video streaming generally involves using a state-tracking protocol, for example the Real-Time Streaming Protocol (RTSP). Once a client connects to the streaming server, the server keeps track of the client's state until the client disconnects. Typically, frequent communication between the client and the server is involved for purposes such as session provisioning and negotiation of media parameters. Once a session between the client and the server has been established, the server sends the media as a continuous stream of packets over either User Datagram Protocol (UDP) or TCP transport. Example technologies for RTSP-based adaptive streaming include Microsoft Windows Media™, Apple QuickTime™, Adobe Flash™, and Helix™ by Real Networks, among others.
Dynamic adaptive streaming over HTTP (DASH) is a new adaptive streaming technology that operates differently in comparison to RTSP-based adaptive streaming. In particular, it operates by the use of the HTTP protocol, which is stateless. As a client requests some data, the server responds by sending the data and the transaction is terminated. Each HTTP request is handled as a completely standalone one-time transaction. Prior to the utilization of DASH, progressive download methods were available for media delivery from standard HTTP Web servers. In HTTP-based progressive download, clients that support the approach can seek to selected positions in the media file by performing byte range requests to the Web server. However, HTTP-based progressive download is not really an adaptive streaming technique, i.e., it does not allow dynamically adapting video configurations with respect to changing link conditions, device capabilities or content characteristics. Moreover, disadvantages of HTTP-based progressive download are mostly that bandwidth may be wasted if the user decides to stop watching the content after progressive download has started. In addition, HTTP-based progressive download does not support live media services. DASH technology addresses such weaknesses of HTTP-based progressive download.
Most of the adaptive streaming solutions offered today are for the traditional RTSP-based streaming. As a relatively new technology, DASH-based adaptive streaming currently has the following key challenges for which the solution space is currently very limited. First, DASH moves the adaptive streaming intelligence from the server to the client, letting the client drive the streaming session and make the decisions on the video adaptation parameters. Thus, developing an intelligent client adaptation framework built specifically for DASH-based streaming services is important since the session state cannot easily be tracked by the network under HTTP-based streaming. Second, due to its differences from traditional RTSP-based streaming services, it is also important to devise methods toward delivery of DASH-based services over different Third Generation Partnership Project (3GPP) radio access network (RAN) and core IP network architectures, with support for quality of service (QoS) and service adaptation. Among others, providing QoS support for DASH services impacts the 3GPP policy and charging control architecture (PCC).
It will be appreciated that for simplicity and/or clarity of illustration, elements illustrated in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, if considered appropriate, reference numerals have been repeated among the figures to indicate corresponding and/or analogous elements.